#include <stdio.h> 
#include <stdlib.h>
#include <string.h>

int main()
{
    //扩容
    //长度 
    int len=5;
    //首次申请
    int* p=(int*)calloc(sizeof(int),len);
    int* temp=p;
    //当前下标
    int i=0;

    int num=0;
    while(scanf("%d",&num),num!=-1)
    {
        //1、没满
        if(i<len)
        {
            temp[i++]=num;
        }
        //2、满了
        else
        {
            len+=5;
            //重新申请更大的内存
            p=(int*)calloc(sizeof(int),len);
            for(int j=0;j<len;j++)
            {
                p[j]=temp[j];
            }
            
            free(temp);
            temp=NULL;
            temp=p;
            temp[i++]=num;
        }
    }

    for(size_t j=0;j<i;j++)
    {
        printf("%p %d %d\n",p+j,*(p+j),p[j]);
    }

    free(p);
    p=NULL;

	system("pause");
	return 0;
} 